1. Field of the Invention
The present invention relates to a data processor for computing various data in parallel and a method of processing data in parallel at high-speed, and more particularly, to a device for computing mask data of a semiconductor integrated circuit device (hereinafter referred to as an LSI) in parallel and improvement of a method of sharing computation thereof.
2. Description of the Prior Art
In recent years, a mask data processor for generating exposure data is utilized in a process of producing a reticle and a mask pattern of an LSI, and an image data processor for comparing image data is utilized in an inspection process thereof. With the demand for high function and high performance of these processors, a data processor in which a plurality of data processing units are provided in one system for computing various data in parallel is in the course of development.
Here, the prior art of the present invention will be described. For example, a mask data processor (a parallel computation system) for converting design data Din of an LSI into exposure data Dout comprises a mass storage memory 1, n pieces of data processing units PE1 to PEn, a central processing unit (CPU) 2, an exposure data memory 3 and so on as shown in FIG. 1. Besides, field memories Mfl to Mfn for storing design data Din assigned to respective units PE1 to Pen temporarily are provided in those respective units. Here, the exposure data Dout is the data for exposing a mask pattern when a reticle of an LSI is formed.
The function of the system is such that, when the design data Din of an LSI are transferred to the mass storage memory 1, for instance, the design data Din concerned are split into blocks corresponding to exposure fields by the CPU 2. The split design data Din are supplied, and data format conversion, size alteration, data correction or the like (hereinafter referred to simply as parallel mask data processing) are performed by means of n pieces of data processing units PE1 to PEn, thereby storing the data in the exposure data memory 3 as exposure data Dout.
Namely, in FIG. 2, the design data Din are copied to and edited in the mass storage memory 1 first in a step P1, and then the whole chips are split into uniform field sizes in a step P2. This is done for the purpose of reducing the number of pattern data in existence per one field, and it is possible to reduce the number of pattern data applied with parallel data processing in one unit by unifying the size (region) of the field. Here, the split design data Din in every field are transferred to respective data processing units PE1 to PEn.
Thereafter, the design data Din assigned to the processor PE1 concerned in a step P31 are stored in the first data processing unit PE1 for the purpose of executing parallel data processing. In parallel thereto, the design data Din assigned to the processing unit PE2 in a step P32 are stored in the second data processing unit PE2.
Next, it is judged whether a data storage allowable value of the first field memory Mfl is exceeded or not by the CPU 2 in a step P41. At this time, when the data storage allowable value is exceeded (YES), a magnifying factor of the memory is altered in a step P51. Further, when the value is not exceeded (NO), the process is shifted to a step P61, and the parallel mask data processing is performed.
In parallel thereto, it is judged whether the data storage allowable value of the first field memory Mf2 is exceeded or not in a step P42 in the second processing unit PE2. In this case, when the data storage allowable value is exceeded (YES), the magnifying factor of the memory is altered in a step P52. Further, when the value is not exceeded (NO), the process is shifted to a step P62 and the parallel mask data processing is performed.
With this, the design data Din are processed in parallel by respective data processing units PE1 to PEn. As a result, the exposure data Dour in exposing a reticle or a mask pattern of an LSI are obtained.
Besides, a structural example of a data processor for filter-processing the image data in parallel will be described. A multiprocessor control unit is disclosed in Japanese Patent Provisional Publication "Laid-Open No. HEI3-177961" issued by the Japanese Patent Office. The control unit concerned comprises a plurality of digital signal processors connected in parallel, a state register for storing use states of the processors and the data bus and a data flow controller for allocating image data in frame units to respective processors based on the use states.
FIG. 2 illustrates a parallel data processing flowchart for a mask data processor according to prior art, in which the whole chip is split into uniform field sizes in a step P2 with respect to design data Din of an LSI stored in a mass storage memory 1. In parallel mask data processing, in general, the field is split so that the design data Din are stored at an allowable capacity or less of a field memory Mfn. Besides, the field memory Mfn is provided in respective data processing units PE1 to PEn. When pattern density of the LSI is high, however, both a pattern region where transistor elements and interconnection patterns are laid out in a complex fashion and a pattern region where the density thereof is low are split equally into fields of the same size.
As a result, the whole chip is split into uniform field sizes more than needed even in a region where the pattern density of the LSI is low. Hence, the number of fields of the data assigned to respective data processing units PE1 to PEn is increased. With this, the frequency of making access to the field memory Mfn is increased, thus wearing out the access time in idleness. Further, in the prior art, when the design data Din assigned to the data processing unit PEn concerned exceed the data storage allowable value of the field memory Mfn, a scale factor is altered in steps P51 and P52 in the flow chart of the parallel mask data processing shown in FIG. 2 in order to make the capacity of field memories Mfn of respective data processing units PEn small.
For example, when the design data Din assigned to a certain data processing unit PEn exceed the data storage allowable value as shown in FIG. 3, the scale factor of the whole is magnified double (200%) so as to perform parallel mask data processing as shown in FIG. 3. Here, "the scale factor of the whole is magnified double" means that the size of an original graphic object expressed by the originally assigned design data Din is enlarged. With this, the design data Din transferred to the field memory Mfn are reduced so that the design data Din may be contained within the allowable value.
Since the scale factor of the whole is increased, however, the number of fields is quadrupled, and the frequency of making access to the memory is also quadrupled. Thus, the access time is worn out in idleness. Further, since the number of mask patterns per unit area of the mask region is increased with the mass storage of the design data Din, a shortage in the capacity of the mass storage memory 1 and the field memory Mfn is incurred. With this, in a storage system having field memories Mfn for handling the mask pattern data in every hierarchy, there is such a problem that the parallel mask data processing is interrupted when a shortage of the memory is produced in any region of respective hierarchies. Due to such a fact, the size of the field is compelled to be altered. As a result, there is a problem that the field has to be resplit, which becomes an obstacle in achieving high-speed parallel mask data processing.
Further, a multiprocessor control unit according to the prior art for filter-processing image data in parallel is disclosed in Japanese Patent Provisional Publication "Laid-Open No. HEI3-177961". In the control unit concerned, a system wherein image data in frame units are allocated to respective processors based on use states of a digital signal processor and a data bus and are filter-processed in parallel is adopted. However, no method whatsoever of concrete processing of parallel data is disclosed for a case where the data allocated to respective processors include unevenness in the pattern density and data exceeding the memory are assigned.